home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / Esmart / Esmart_Thumb.h < prev    next >
C/C++ Source or Header  |  2006-01-09  |  4KB  |  105 lines

  1. #ifndef _ESMART_THUMB_H
  2. #define _ESMART_THUMB_H
  3.  
  4. #include <Evas.h>
  5.  
  6. #ifdef __cplusplus
  7. extern "C"
  8. {
  9. #endif
  10.  
  11. /**
  12.  * E_Thumb - In an effort to easily generate thumbnails this smart object
  13.  * came to be.  Check out http://triq.net/~jens/thumbnail-spec/index.html
  14.  * In addition to that you can get a little bit of metadata from the smart
  15.  * object like the source image's geometry and filetype.  The code is there
  16.  * to support more than just file:// uris but for now that's all it's doing.
  17.  * 
  18.  * Version 0.0.1 - August 23rd 2003 <atmos@atmos.org>
  19.  *  - This was done hastily, there will be fixes
  20.  */
  21.  
  22. /**
  23.  * esmart_thumb_free - free an E_Thumb smart object 
  24.  */
  25.   void esmart_thumb_free (Evas_Object * o);
  26. /**
  27.  * esmart_thumb_new - create a new E_Thumb object.  If the freedesktop cached
  28.  * thumbnail exists it loads it, if not it creates it.  There's some
  29.  * metadata in there if you're curious.
  30.  * @evas - the evas we want to add the object to
  31.  * @file - the name of the file we want a thumb of
  32.  */
  33.   Evas_Object *esmart_thumb_new (Evas * evas, const char *file);
  34. /**
  35.  * esmart_thumb_file_get - get the full path to the thumbnail's real image
  36.  * @o - The smart object we want the filename for
  37.  * Returns a pointer to the filename, you should NOT free this memory
  38.  */
  39.   const char *esmart_thumb_file_get (Evas_Object * o);
  40. /**
  41.  * esmart_thumb_geometry_get - Get the geometry of the source image
  42.  * @o - The smart object we want the geometry of
  43.  * @w - A pointer to somewhere we can store the width
  44.  * @h - A pointer to somewhere we can store the height
  45.  */
  46.   void esmart_thumb_geometry_get (Evas_Object * o, int *w, int *h);
  47.  
  48. /**
  49.  * esmart_thumb_evas_object_get - Load the image file to an evas object
  50.  * @o - The smart object we want the geometry of
  51.  * @orient - 1 to auto orient, 0 to just load as is
  52.  * Returns a valid Evas_Object if imlib2 or evas can load the file
  53.  */
  54.   Evas_Object *esmart_thumb_evas_object_get (Evas_Object * o, int orient);
  55.  
  56. /**
  57.  * esmart_thumb_evas_object_image_get - the actual image object in the thumb
  58.  * @o - the object returned from esmart_thumb_new
  59.  * Returns a valid Evas_Object* on success, NULL on no image
  60.  */
  61.   Evas_Object *esmart_thumb_evas_object_image_get (Evas_Object * o);
  62.  
  63. /**
  64.  * esmart_thumb_format_get - get the format of the image this thumb is for
  65.  * @o - The smart object we want the format for
  66.  * NOTE: Don't free this string, dupe it if you wanna keep it around
  67.  */
  68.   const char *esmart_thumb_format_get (Evas_Object * o);
  69.  
  70. /** 
  71.  * esmart_thumb_freshen - forced reloading of the thumbnail image from disk
  72.  * @o - The smart object we want the format for
  73.  * Returns EPSILON_OK if the cache was bad and we regenerated, EPSILON_FAIL
  74.  * if the cached image is still valid
  75.  */
  76.   int esmart_thumb_freshen (Evas_Object * o);
  77.  
  78. /** 
  79.  * esmart_thumb_exif_get - Get whether or not the exif data is present
  80.  * @o - The smart object we're curious about
  81.  * Returns 1 if exif data is present in the esmart_thumb, 0 if not
  82.  */
  83.   int esmart_thumb_exif_get (Evas_Object * o);
  84. /** 
  85.  * esmart_thumb_exif_data_as_string_get - Get an exif tag as a string
  86.  * @o - The smart object we're curious about
  87.  * @prop - The exif prop you want
  88.  * Returns NULL if not found, string value for the tag if present
  89.  */
  90.   const char *esmart_thumb_exif_data_as_string_get (Evas_Object * o, int lvl,
  91.                             int prop);
  92. /** 
  93.  * esmart_thumb_exif_data_as_int_get - Get an exif tag as an int
  94.  * @o - The smart object we're curious about
  95.  * @prop - The exif prop you want
  96.  * Returns -1 if not found, string value for the tag if present
  97.  */
  98.   int esmart_thumb_exif_data_as_int_get (Evas_Object * o, int lvl, int prop);
  99.  
  100. #ifdef __cplusplus
  101. }
  102. #endif
  103.  
  104. #endif
  105.